package com.huiqiao.lesson2.mapper;

import com.huiqiao.lesson2.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserMapper {

    /* 增删改查（无参） */

    List<User> selectAll();
    User selectOneUser();
    int addOneUser();
    int deleteOneUser();
    int updateOneUser();

    /* 增删改查（有参） */
    // 通过id查询单个用户
    User selectById(@Param("id") Integer id);
    //模糊查询用户名，例：%keyword%
    List<User> selectByUsernameLike(@Param("keyword") String keyword);
    // 主键回填：执行后会把生成的 id 写回 user.id
    int insertUser(User user);
    // 根据 id 覆盖式更新
    int updateById(User user);
    // 根据id删除用户
    int deleteById(@Param("id") Integer id);
}
